<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
    /*
     *concat()可以连接两个或者多个数组，并将新的数组返回
     *该方法不会影响原数组
     */
    var arr =["孙悟空","猪八戒","沙和尚"];
    var arr2 =["白骨精","玉面狐狸精","牛魔王"];
    var arr3=["二郎神","太上老君","玉皇大帝"];
    var result1=arr.concat(arr2);
    var result2=arr.concat(arr2,arr3,"唐僧","如来佛祖");
    console.log(arr);//输出孙悟空，猪八戒，沙和尚
    console.log(arr2);//输出白骨精，玉面狐狸精，牛魔王
    console.log(result1);//输出孙悟空，猪八戒，沙和尚，白骨精，玉面狐狸精，牛魔王
    console.log(result2);

    //join()
    //该方法可以将数组转换为一个字符串
    //该方法也不会对原数组产生影响
    //在join()中可以指定一个字符串作为参数，这个字符串将会成为数组中元素的连接符
    var result3=arr.join("hello");//括号中的字符串可以作为连接元素的连接符
    console.log(result3);//如果括号中没写的话，默认用,作为连接符
    
    //reverse()
    //该方法用来反转数组（前面的去后边，后面的去前面）
    //该方法会直接影响原数组
    arr.reverse();
    console.log(arr);

    //sort()
    //可以用来对数组中的元素进行排序
    //也会影响原数组，默认会按照Unicode编码进行排序
    //也可以在sort()中添加一个回调函数，来指定排序规则
    //回调函数中需要定义两个形参，浏览器将会分别使用数组中的元素作为实参去调用回调函数
    //使用哪个元素调用不确定，但是肯定的是数组中a一定在b前边
    //浏览器哦会根据回调函数的返回值来决定元素的顺序
    //如果返回一个大于0的值，则元素会交换位置
    //如果返回一个小于0的值，则元素位置不变
    //如果返回一个0，则认为两个元素相等，也不交换位置
    //如果需要升序排列，则返回a-b
    //如果需要降序排列，则返回b-a 
    var arr4=[4,7,5,3,4,8,6,2,4,5,7,5,11,21,4,19];
    /*
    arr4.sort(function(a,b)
    {
        return b-a;//降序排列
    });
    console.log(arr4);
    */
    arr4.sort(function(a,b)
    {
        return a-b;//升序排列
    });
    console.log(arr4);
    </script>
</head>
<body>
    
</body>
</html>